package com.techsen.tsweb.sys.service;

import java.util.List;

import com.techsen.tsweb.core.service.Service;
import com.techsen.tsweb.sys.domain.Menu;

public interface MenuService extends Service<Menu> {

    /**
     * 根据父菜单ID获取所有子菜单
     */
    List<Menu> getAllChildrenMenu(String id);
    
    /**
     * 根据父菜单ID获取所有子菜单
     */
    List<String> getAllChildrenMenuId(String id);
    
    /**
     * 根据用户ID获取授权给这个用户的菜单资源ID集合<br/>
     * 1. 按用户授权<br/>
     * 2. 按角色授权<br/>
     */
    List<String> getAuthorizedMenuIdsByUserId(String userId);
    
    /**
     * 根据用户ID获取授权给这个用户的菜单资源集合<br/>
     * 1. 按用户授权<br/>
     * 2. 按角色授权<br/>
     */
    List<Menu> getAuthorizedMenusByUserId(String userId);
}
